from celery import Celery
import os

# 设置默认的Django设置模块
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangoProject.settings')

app = Celery('monitor')

# 从Django设置文件中导入Celery配置
app.config_from_object('django.conf:settings', namespace='CELERY')

# 自动发现所有任务
app.autodiscover_tasks()

# 配置定时任务
app.conf.beat_schedule = {
    'collect-all-hosts-data': {
        'task': 'monitor.tasks.collect_all_hosts_data',
        'schedule': 300.0,  # 每5分钟执行一次
    },
}

app.conf.timezone = 'Asia/Shanghai'

@app.task(bind=True)
def debug_task(self):
    print(f'Request: {self.request!r}') 